<template>

  <avue-crud :option="options"
             :data="listData"
             :table-loading="tableLoading"
             @refresh-change="refreshChange"
             @size-change="sizeChange"
             @current-change="currentChange"
             @row-save="saveRow"
             @row-update="updateRow"
             @on-load="loadList"
             @row-del="delRow">
  </avue-crud>
</template>

<script>


export default {
  name: "StartCrud",
  props: {
    sortBy: Function,
    sortOrders: Function,
    sortMethod: Function,
    spanMethod: Function,
    summaryMethod: Function,
    rowStyle: Function,
    cellStyle: Function,
    beforeClose: Function,
    beforeOpen: Function,
    rowClassName: Function,
    cellClassName: Function,
    headerCellClassName: Function,
    uploadBefore: Function,
    uploadAfter: Function,
    uploadDelete: Function,
    uploadPreview: Function,
    uploadError: Function,
    uploadExceed: Function,
    permission: {
      type: [Function, Object],
      default: () => {
        return {};
      }
    },
    value: {
      type: Object,
      default: () => {
        return {};
      }
    },
    showColumn: {
      type: Array,
      default() {
        return [];
      }
    },
    search: {
      type: Object,
      default() {
        return {};
      }
    },
    page: {
      type: Object,
      default() {
        return {};
      }
    },
    tableLoading: {
      type: Boolean,
      default: false
    },
    disabled: {
      type: Boolean,
      default: false
    },
    data: {
      type: Array,
      required: true,
      default: () => {
        return [];
      }
    }
  }
}
</script>

<style scoped>

</style>
